// 封装请求JS库
import axios from 'axios'

// 导入根路径
// export const baseURL = 'http://pcapi-xiaotuxian-front-devtest.itheima.net/'
export const baseURL = 'https://apipc-xiaotuxian-front.itheima.net/'

// 创建 axios实例
const service = axios.create({
  baseURL, // 请求根路径
  timeout: 20000 // 请求超时时间
})

// 拦截请求
service.interceptors.request.use(
  // 请求成功
  config => {
    // 在请求头中 携带token
    config.headers.Authorization = 'Bearer token'
    return config
  },
  // 请求失败
  error => {
    return Promise.reject(error)
  }
)

// 拦截响应
service.interceptors.response.use(
  // 响应成功
  res => {
    // 将最终数据返回
    return res.data
  },
  // 响应失败
  error => {
    return Promise.reject(error)
  }
)

export default function (url, method, data) {
  return service({
    url,
    method,
    // 当方法为get时  使用params属性 否则使用data属性
    // toLowerCase 转小写
    [method.toLowerCase() === 'get' ? 'params' : 'data']: data
  })
}
